Assembly Language এর মৌলিক ধারণা (Basic Concepts of Assembly Language)

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming)
257
257

Assembly Language এর মৌলিক ধারণা (Basic Concepts of Assembly Language)

Assembly Language হল কম্পিউটারের হার্ডওয়্যার এবং মেশিন ল্যাঙ্গুয়েজের মধ্যে সংযোগ স্থাপনকারী নিম্ন স্তরের ভাষা। এটি মেশিন ল্যাঙ্গুয়েজের মতোই কার্যকর, তবে মানুষের কাছে তুলনামূলকভাবে পড়া এবং বোঝা সহজ। নিচে Assembly Language এর মৌলিক ধারণাগুলি ব্যাখ্যা করা হলো:


১. ইনস্ট্রাকশন সেট (Instruction Set):

Assembly Language-এ ব্যবহৃত প্রতিটি নির্দেশনা একটি নির্দিষ্ট প্রক্রিয়া সম্পাদনের জন্য ব্যবহৃত হয়। এই নির্দেশনাগুলি CPU-এর দ্বারা সরাসরি বোঝা যায় এবং কার্যকর করা হয়। উদাহরণস্বরূপ, MOV, ADD, SUB, JMP ইত্যাদি কমন ইনস্ট্রাকশন।

উদাহরণ:

MOV AX, 1       ; AX রেজিস্টারে ১ মান স্টোর করা
ADD AX, 2       ; AX রেজিস্টারে ২ যোগ করা

২. অপকোড এবং অপারেন্ড (Opcode and Operand):

  • অপকোড (Opcode): অপকোড হলো ইনস্ট্রাকশনের অংশ যা CPU-কে বলে কী কাজ করতে হবে, যেমন MOV, ADD, SUB
  • অপারেন্ড (Operand): অপারেন্ড হলো ইনস্ট্রাকশনের ডেটা বা মেমোরি লোকেশন, যার উপর অপকোড কাজ করবে।

উদাহরণ:

MOV AX, BX      ; অপকোড: MOV, অপারেন্ড: AX এবং BX

৩. রেজিস্টার (Register):

Assembly Language-এ রেজিস্টার হলো CPU-র ছোট এবং দ্রুত মেমোরি লোকেশন, যা ইনস্ট্রাকশন প্রক্রিয়াকরণে ব্যবহৃত হয়। সাধারণ রেজিস্টারগুলি হল:

  • General-purpose registers: যেমন AX, BX, CX, DX (x86 আর্কিটেকচারে)
  • Special-purpose registers: যেমন IP (Instruction Pointer), SP (Stack Pointer)

৪. মেমোরি অ্যাড্রেসিং (Memory Addressing):

Assembly Language-এ বিভিন্ন মেমোরি লোকেশনে ডেটা অ্যাক্সেস করার জন্য মেমোরি অ্যাড্রেসিং মোড ব্যবহৃত হয়। কিছু সাধারণ মেমোরি অ্যাড্রেসিং মোড হলো:

  • Immediate addressing: ডেটা সরাসরি ইনস্ট্রাকশনে থাকে।
  • Direct addressing: সরাসরি মেমোরি লোকেশনে নির্দেশ করে।
  • Indirect addressing: রেজিস্টার ব্যবহার করে মেমোরি লোকেশনে নির্দেশ করে।

উদাহরণ:

MOV AX, [1234h] ; সরাসরি 1234h অ্যাড্রেস থেকে ডেটা পড়া

৫. লেবেল এবং জাম্প (Label and Jump):

Assembly Language-এ লেবেল ব্যবহার করা হয় প্রোগ্রামের নির্দিষ্ট স্থানে নির্দেশ করার জন্য। JMP, JE, JNE এর মতো নির্দেশনা ব্যবহার করে প্রোগ্রামে শর্তসাপেক্ষ এবং শর্তবিহীন জাম্প করা যায়।

উদাহরণ:

start:
    MOV AX, 5
    JMP end
end:
    NOP            ; কোন কাজ না করার নির্দেশ

৬. স্ট্যাক অপারেশন (Stack Operation):

Assembly Language-এ স্ট্যাক হলো একটি বিশেষ মেমোরি স্ট্রাকচার, যা LIFO (Last In, First Out) নীতিতে কাজ করে। PUSH এবং POP নির্দেশনা ব্যবহার করে স্ট্যাকে ডেটা যোগ এবং সরানো যায়।

উদাহরণ:

PUSH AX         ; AX রেজিস্টারের মান স্ট্যাকে সংরক্ষণ করা
POP BX          ; স্ট্যাক থেকে মান BX রেজিস্টারে ফেরত আনা

৭. সিস্টেম কল (System Call):

Assembly Language-এ সিস্টেম কল ব্যবহার করে অপারেটিং সিস্টেমের ফাংশনগুলো এক্সিকিউট করা যায়, যেমন ইনপুট/আউটপুট অপারেশন।

উদাহরণ:

MOV AH, 0x09    ; DOS সিস্টেম কলের জন্য ইন্টারাপ্ট ২১h প্রস্তুত করা
INT 0x21        ; সিস্টেম কল কার্যকর করা

উপসংহার:

Assembly Language এর মৌলিক ধারণাগুলি বুঝলে এটি হার্ডওয়্যার নিয়ন্ত্রণ, সিস্টেম অপ্টিমাইজেশন, এবং নিম্ন-স্তরের সফটওয়্যার ডেভেলপমেন্টে ব্যবহার করা সহজ হয়। এই ধারণাগুলি উচ্চতর ভাষা থেকে Assembly Language এর পার্থক্য এবং কার্যকারিতা বুঝতে সাহায্য করে।

common.content_added_by

Opcode এবং Operand এর ধারণা

690
690

১. Opcode (Operation Code):

Opcode হলো একটি কম্পিউটার নির্দেশনার অংশ যা নির্দেশ দেয় কোন কাজটি CPU সম্পাদন করবে। এটি নির্দেশনার ধরনকে নির্দেশ করে এবং CPU-কে বলে যে তাকে কী করতে হবে। Opcode সাধারণত বাইনারি বা হেক্সাডেসিমাল ফরম্যাটে থাকে এবং এটি CPU-র দ্বারা বোঝা যায়।

উদাহরণ:
যদি একটি নির্দেশনা ADD EAX, EBX হয়, তবে ADD অংশটি হলো Opcode, যা CPU-কে বলে যে তাকে যোগ (Addition) অপারেশন সম্পাদন করতে হবে।


২. Operand:

Operand হলো একটি নির্দেশনার অংশ যা Opcode-কে নির্দিষ্ট ডেটা বা রেজিস্টার প্রদান করে, যার উপর অপারেশনটি সম্পাদন করা হবে। Operand গুলি হতে পারে:

  • রেজিস্টার: যেমন, EAX, EBX, R1
  • মেমোরি অ্যাড্রেস: সরাসরি মেমোরির নির্দিষ্ট অংশ, যেমন 0x00400000
  • তাত্ক্ষণিক মান (Immediate Value): সরাসরি ব্যবহারযোগ্য সংখ্যা, যেমন 5, 10

উদাহরণ:
ADD EAX, 5 নির্দেশনায় EAX এবং 5 হলো Operand, যেখানে EAX হলো গন্তব্য Operand এবং 5 হলো উৎস Operand।


Opcode এবং Operand এর সম্পর্ক:

Opcode এবং Operand একসাথে মিলে একটি নির্দেশনা গঠন করে। Opcode নির্দেশ দেয় কোন অপারেশনটি করতে হবে এবং Operand নির্দিষ্ট করে সেই অপারেশনটির ডেটা বা উৎস। CPU Opcode-এর মাধ্যমে নির্দেশনাটি পড়ে এবং Operand-এর মান নিয়ে কাজটি সম্পন্ন করে।

নিচে একটি সাধারণ উদাহরণ:

MOV AX, 10      ; এখানে MOV হলো Opcode যা নির্দেশ করে ডেটা স্থানান্তর করা হবে। AX এবং 10 হলো Operand, যেখানে AX গন্তব্য এবং 10 উৎস।

Opcode এবং Operand এর উদাহরণ বিশ্লেষণ:

ইনস্ট্রাকশনOpcodeOperand
MOV AX, 10MOVAX, 10
ADD EAX, EBXADDEAX, EBX
SUB R1, 5SUBR1, 5
JMP 0x0040JMP0x0040 (মেমোরি অ্যাড্রেস)

Opcode এবং Operand এর কাজের প্রক্রিয়া:

১. Instruction Fetching: CPU প্রোগ্রাম মেমোরি থেকে একটি নির্দেশনা পড়ে।
২. Instruction Decoding: CPU নির্দেশনাটি ডিকোড করে, Opcode এবং Operand আলাদা করে।
৩. Execution: Opcode অনুযায়ী CPU কার্য সম্পাদন করে Operand-এর উপর অপারেশন সম্পন্ন করে।


Opcode এবং Operand কম্পিউটার নির্দেশনার দুটি গুরুত্বপূর্ণ উপাদান। Opcode নির্দেশ করে কোন কাজটি সম্পাদন করতে হবে, এবং Operand নির্দিষ্ট করে কাজের জন্য প্রয়োজনীয় ডেটা বা রেজিস্টার। এই দুটি উপাদান একত্রে একটি সম্পূর্ণ নির্দেশনা গঠন করে, যা CPU কার্য সম্পাদনের জন্য ব্যবহার করে।

common.content_added_by

Registers এর ভূমিকা: General-purpose এবং Special-purpose Registers

268
268

Registers হল প্রক্রিয়াকরণের সময় তথ্য সঞ্চয় ও প্রক্রিয়া করার জন্য CPU-র ভিতরে থাকা উচ্চ-গতির মেমোরি এলিমেন্ট। এগুলো CPU-এর কার্যকারিতা বৃদ্ধিতে গুরুত্বপূর্ণ ভূমিকা পালন করে। Registers প্রধানত দুই ধরনের: General-purpose এবং Special-purpose।


১. General-purpose Registers:

  • সংজ্ঞা: General-purpose Registers হল CPU-এর এমন রেজিস্টার, যা সাধারণ ডেটা স্টোরেজ এবং প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এগুলো প্রোগ্রামিংয়ে বিভিন্ন ধরনের ডেটা স্টোর এবং পরিচালনা করতে ব্যবহৃত হয়।
  • ব্যবহার: সাধারণ গণনা, ডেটা স্থানান্তর, এবং প্রোগ্রামিং লজিকের বিভিন্ন প্রয়োজনীয় কাজ সম্পাদনের জন্য ব্যবহৃত হয়।
  • উদাহরণ:
    • x86 আর্কিটেকচারে: EAX, EBX, ECX, EDX।
    • ARM আর্কিটেকচারে: R0 থেকে R15 পর্যন্ত।
    • MIPS আর্কিটেকচারে: $t0 থেকে $t9 এবং $s0 থেকে $s7।

প্রধান কাজ:

  • ডেটা স্টোর করা: অস্থায়ী ডেটা সঞ্চয় করা এবং গণনার জন্য ব্যবহার করা।
  • অপারেশন পারফর্ম করা: সাধারণ গাণিতিক এবং লজিক্যাল অপারেশন সম্পন্ন করা।
  • ডেটা স্থানান্তর: মেমোরি এবং CPU রেজিস্টারগুলির মধ্যে ডেটা স্থানান্তর করা।

২. Special-purpose Registers:

  • সংজ্ঞা: Special-purpose Registers হল CPU-তে বিশেষভাবে নির্দিষ্ট কাজ সম্পাদনের জন্য ব্যবহৃত রেজিস্টার। এগুলো CPU-এর অভ্যন্তরীণ কাজ এবং প্রোগ্রামের অবস্থা ট্র্যাক করার জন্য ব্যবহৃত হয়।
  • ব্যবহার: CPU-র কার্যকারিতা, নিয়ন্ত্রণ, এবং প্রোগ্রামের অবস্থা নিয়ন্ত্রণ করা।
  • উদাহরণ:
    • Program Counter (PC): বর্তমান প্রোগ্রামের পরবর্তী নির্দেশনার অ্যাড্রেস নির্দেশ করে।
    • Stack Pointer (SP): স্ট্যাকের বর্তমান অবস্থান নির্দেশ করে, যা ফাংশন কল এবং রিটার্ন অ্যাড্রেস সঞ্চালনে ব্যবহৃত হয়।
    • Instruction Register (IR): বর্তমানে প্রক্রিয়াকৃত নির্দেশনাটি সঞ্চয় করে।
    • Status Register/Flags Register (FR): বিভিন্ন অবস্থার ফ্ল্যাগ যেমন জিরো, ক্যারি, সাইন ইত্যাদি ধরে রাখে।

প্রধান কাজ:

  • প্রোগ্রাম এক্সিকিউশন নিয়ন্ত্রণ: CPU-তে প্রোগ্রাম এক্সিকিউশনের নির্দেশ দেয়।
  • স্ট্যাক ম্যানেজমেন্ট: স্ট্যাকের উপর এবং নিচের দিকের চলাচল নিয়ন্ত্রণ করে।
  • অবস্থা নির্দেশনা: অপারেশনের ফলাফলের উপর ভিত্তি করে বিভিন্ন ফ্ল্যাগ সেট করে, যা পরবর্তী অপারেশনের সিদ্ধান্ত গ্রহণে ব্যবহৃত হয়।

তুলনামূলক পার্থক্য:

বৈশিষ্ট্যGeneral-purpose RegistersSpecial-purpose Registers
প্রধান কাজসাধারণ ডেটা সংরক্ষণ ও প্রক্রিয়াকরণ।CPU-এর কার্যকারিতা ও প্রোগ্রামের অবস্থা নিয়ন্ত্রণ।
ব্যবহারগাণিতিক, লজিক্যাল অপারেশন, ডেটা স্থানান্তর।প্রোগ্রাম কাউন্টার, স্ট্যাক নিয়ন্ত্রণ, স্ট্যাটাস ট্র্যাক।
উদাহরণEAX, EBX, R0, R1, $t0, $s1 ইত্যাদি।Program Counter (PC), Stack Pointer (SP), Flags Register (FR) ইত্যাদি।
ডেটা ধরনসাধারণ ডেটা এবং অপারেশনাল ভেরিয়েবল।নিয়ন্ত্রণ এবং অবস্থা নির্দেশক ডেটা।

উপসংহার:

General-purpose Registers মূলত CPU-র সাধারণ ডেটা অপারেশনগুলির জন্য ব্যবহার করা হয়, যেখানে Special-purpose Registers CPU-র কার্যকারিতা নিয়ন্ত্রণ এবং প্রোগ্রামের অবস্থা ট্র্যাক করার জন্য ব্যবহৃত হয়। উভয় ধরনের রেজিস্টার CPU-র কার্যকারিতা বাড়াতে গুরুত্বপূর্ণ ভূমিকা পালন করে।

common.content_added_by

Memory Addressing এবং Data Movement

250
250

Memory Addressing এবং Data Movement হল Assembly Language এর দুইটি গুরুত্বপূর্ণ ধারণা, যা CPU এর সাথে মেমোরি এবং ডেটা আদান-প্রদানের পদ্ধতিকে বোঝায়। নিচে এই দুটি বিষয়ের বিস্তারিত আলোচনা করা হলো:


১. Memory Addressing (মেমোরি অ্যাড্রেসিং):

Memory Addressing হলো প্রক্রিয়া যেখানে প্রসেসর মেমোরি থেকে ডেটা পড়তে বা লিখতে নির্দিষ্ট মেমোরি ঠিকানা ব্যবহার করে। এটি মেমোরি ব্যবস্থাপনার জন্য অপরিহার্য। Assembly Language-এ বিভিন্ন ধরনের মেমোরি অ্যাড্রেসিং মোড রয়েছে। কিছু গুরুত্বপূর্ণ মেমোরি অ্যাড্রেসিং মোড নিচে দেওয়া হলো:

  • Immediate Addressing:
    • ডেটা সরাসরি নির্দেশনাতে থাকে এবং এটি রেজিস্টারে লোড করা হয়।
    • উদাহরণ:

      MOV AX, 10    ; AX রেজিস্টারে সরাসরি ১০ লোড করা
  • Direct Addressing:
    • ডেটা মেমোরির নির্দিষ্ট ঠিকানায় থাকে।
    • উদাহরণ:

      MOV AX, [1234h]    ; 1234h ঠিকানা থেকে ডেটা AX রেজিস্টারে লোড করা
  • Indirect Addressing:
    • রেজিস্টার মেমোরি ঠিকানাকে নির্দেশ করে এবং সেই ঠিকানা থেকে ডেটা লোড করা হয়।
    • উদাহরণ:

      MOV AX, [BX]    ; BX রেজিস্টার দ্বারা নির্দেশিত ঠিকানা থেকে ডেটা AX-এ লোড করা
  • Indexed Addressing:
    • বেস রেজিস্টারের সাথে ইন্ডেক্স যোগ করে একটি মেমোরি ঠিকানা নির্ধারণ করা হয়।
    • উদাহরণ:

      MOV AX, [BX + SI]    ; BX এবং SI যোগফলের ঠিকানা থেকে ডেটা AX-এ লোড করা

২. Data Movement (ডেটা মুভমেন্ট):

Data Movement নির্দেশনাগুলি CPU এবং মেমোরি বা CPU-এর মধ্যে রেজিস্টারগুলির মধ্যে ডেটা স্থানান্তরের জন্য ব্যবহৃত হয়। এটি প্রোগ্রামের কাজের ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে। Assembly Language-এ সাধারণ ডেটা মুভমেন্ট নির্দেশনাগুলি নিচে দেওয়া হলো:

  • MOV: একটি রেজিস্টার থেকে অন্য রেজিস্টার বা মেমোরি ঠিকানা থেকে ডেটা স্থানান্তর করতে ব্যবহৃত হয়।
    • উদাহরণ:

      MOV AX, BX    ; BX রেজিস্টারের ডেটা AX রেজিস্টারে স্থানান্তর করা
  • PUSH এবং POP: স্ট্যাক মেমোরিতে ডেটা স্থানান্তর করতে ব্যবহৃত হয়।
    • উদাহরণ:

      PUSH AX       ; AX রেজিস্টারের ডেটা স্ট্যাকে রাখা
      POP BX        ; স্ট্যাক থেকে ডেটা BX রেজিস্টারে স্থানান্তর করা
  • LEA (Load Effective Address): মেমোরি ঠিকানার কার্যকরী ঠিকানা লোড করতে ব্যবহৃত হয়।
    • উদাহরণ:

      LEA AX, [BX + SI]    ; BX এবং SI যোগফলের কার্যকরী ঠিকানা AX-এ লোড করা
  • XCHG: দুইটি রেজিস্টার বা মেমোরি এবং রেজিস্টারের মধ্যে ডেটা অদল-বদল করতে ব্যবহৃত হয়।
    • উদাহরণ:

      XCHG AX, BX    ; AX এবং BX রেজিস্টারের ডেটা অদল-বদল করা

মেমোরি অ্যাড্রেসিং এবং ডেটা মুভমেন্টের গুরুত্ব:

  • পারফরম্যান্স অপ্টিমাইজেশন: কার্যকর মেমোরি অ্যাড্রেসিং এবং ডেটা মুভমেন্টের মাধ্যমে প্রোগ্রামের পারফরম্যান্স উন্নত করা সম্ভব।
  • রিসোর্স ব্যবস্থাপনা: সঠিকভাবে ডেটা মুভমেন্ট পরিচালনা করার মাধ্যমে মেমোরি ব্যবহারের দক্ষতা বাড়ানো যায়।
  • প্রোগ্রামিং নিয়ন্ত্রণ: বিভিন্ন অ্যাড্রেসিং মোড এবং ডেটা মুভমেন্ট নির্দেশনা ব্যবহার করে প্রোগ্রামের লজিক এবং কার্যপ্রণালীকে নিয়ন্ত্রণ করা যায়।

উপসংহার:

Memory Addressing এবং Data Movement Assembly Language এর গুরুত্বপূর্ণ অংশ, যা CPU, মেমোরি এবং অন্যান্য রেজিস্টারগুলির মধ্যে ডেটা স্থানান্তর এবং পরিচালনার জন্য ব্যবহৃত হয়। এগুলি প্রোগ্রামের কার্যকারিতা ও নিয়ন্ত্রণ নিশ্চিত করতে সহায়ক।

common.content_added_by

Instruction Set Architecture (ISA) এর সাথে সম্পর্ক

236
236

Instruction Set Architecture (ISA) একটি কম্পিউটারের CPU-র অপারেশন নির্দেশনা সেটের ভিত্তি এবং কার্যপ্রণালী বোঝায়। এটি একটি গুরুত্বপূর্ণ স্তর যা হার্ডওয়্যার এবং সফটওয়্যারের মধ্যে যোগাযোগের মাধ্যমে কাজ করে। Assembly Language সরাসরি ISA-এর সাথে কাজ করে, কারণ এটি সেই ভাষা যা ISA-এর নির্দেশনাকে মানুষের পঠনযোগ্য আকারে উপস্থাপন করে। নিচে ISA এবং Assembly Language এর সম্পর্ক বিস্তারিতভাবে আলোচনা করা হলো:


১. Instruction Set Architecture (ISA) কী?

  • সংজ্ঞা: ISA হল একটি কম্পিউটারের প্রসেসরের নির্দেশনাগুলির সম্পূর্ণ সেট যা CPU বুঝতে পারে এবং কার্যকর করতে পারে। এটি নির্দেশনা, ডেটা টাইপ, রেজিস্টার, অ্যাড্রেসিং মোড, এবং মেমোরি অ্যাক্সেসের নিয়ম অন্তর্ভুক্ত করে।
  • উদাহরণ: x86, ARM, এবং MIPS হলো বিভিন্ন ধরনের ISA।

২. Assembly Language এবং ISA এর সম্পর্ক:

  • Assembly Language: এটি একটি নিম্ন-স্তরের প্রোগ্রামিং ভাষা যা ISA-এর নির্দেশনাকে পঠনযোগ্য আকারে উপস্থাপন করে। প্রতিটি Assembly Language কমান্ডের সরাসরি একটি বা একাধিক মেশিন ভাষার নির্দেশনার সাথে সম্পর্ক থাকে।
  • ISA ভিত্তিক নির্দেশনা: Assembly Language কোডের প্রতিটি নির্দেশনা ISA দ্বারা নির্ধারিত। উদাহরণস্বরূপ, MOV, ADD, SUB নির্দেশনাগুলি ISA-এর মধ্যে অন্তর্ভুক্ত, যা Assembly Language ব্যবহার করে লিখিত হয়।

উদাহরণ (x86 ISA):

MOV AX, 5       ; AX রেজিস্টারে ৫ মান সেট করা
ADD AX, 10      ; AX রেজিস্টারে ১০ যোগ করা

উপরের কোডটি x86 ISA-এর নির্দেশনাগুলির উপর ভিত্তি করে।


৩. ISA এর ভূমিকা:

  • নির্দেশনা কার্যকর: ISA নির্ধারণ করে কোন ধরনের নির্দেশনা একটি প্রসেসর কার্যকর করতে সক্ষম। Assembly Language-এ লেখা প্রতিটি নির্দেশনা CPU দ্বারা কার্যকর করার আগে মেশিন কোডে রূপান্তরিত হয়।
  • রেজিস্টার ব্যবস্থাপনা: ISA বলে দেয় কোন রেজিস্টার ব্যবহার করা হবে এবং কিভাবে তারা পরিচালিত হবে। Assembly Language-এ রেজিস্টার ব্যবহারের নিয়মগুলো ISA থেকে আসে।

৪. ISA এবং Assembly Language এর পার্থক্য:

বৈশিষ্ট্যInstruction Set Architecture (ISA)Assembly Language
সংজ্ঞাCPU নির্দেশনা সেটের নির্দিষ্ট মান এবং কার্যপ্রণালীমানব-পঠনযোগ্য ভাষা যা ISA-এর নির্দেশনাগুলিকে উপস্থাপন করে
অংশনির্দেশনা সেট, রেজিস্টার, অ্যাড্রেসিং মোডকোডিং সিনট্যাক্স এবং নির্দেশনার সমন্বয়
ব্যবহারহার্ডওয়্যার নির্দেশনা কার্যকর করতেপ্রোগ্রামাররা কোড লেখার জন্য ব্যবহার করেন
নির্ভরতাহার্ডওয়্যার নির্ভরISA-এর উপর নির্ভরশীল

৫. Assembly Language এর বৈশিষ্ট্য ISA দ্বারা নির্ধারিত:

  • ইনস্ট্রাকশন টাইপ: কী ধরনের ইনস্ট্রাকশন যেমন ডাটা মুভমেন্ট (MOV), গাণিতিক (ADD, SUB), এবং লজিক্যাল অপারেশন (AND, OR) থাকবে তা ISA নির্ধারণ করে।
  • অ্যাড্রেসিং মোড: কিভাবে ডাটা অ্যাক্সেস করা হবে, যেমন সরাসরি, ইনডিরেক্ট, বা ইনডেক্সড অ্যাড্রেসিং, তা ISA-এর দ্বারা নির্ধারিত।
  • রেজিস্টার ব্যবহারের নিয়ম: কোন রেজিস্টারগুলো ব্যবহৃত হবে, যেমন x86 এ EAX, EBX, ECX, ইত্যাদি।

৬. ISA-এর উন্নয়ন এবং Assembly Language:

ISA-এর পরিবর্তন বা উন্নয়ন হলে সংশ্লিষ্ট Assembly Language-এও পরিবর্তন আসতে পারে। উদাহরণস্বরূপ, x86 আর্কিটেকচারে ৬৪-বিট প্রসেসর আসার পর নতুন নির্দেশনা যুক্ত হয় এবং Assembly Language-এ সেগুলো ব্যবহারের সুযোগ আসে।


উপসংহার:

Instruction Set Architecture (ISA) এবং Assembly Language এর মধ্যে একটি ঘনিষ্ঠ সম্পর্ক রয়েছে। ISA নির্দেশনা সেট এবং প্রসেসর কার্যপ্রণালী নির্ধারণ করে, যা Assembly Language-এ প্রোগ্রামারদের লেখা নির্দেশনাকে মেশিন ভাষায় রূপান্তরিত করে। Assembly Language আসলে ISA-এর ওপর ভিত্তি করে গঠিত হয়, যা প্রোগ্রামারদের জন্য হার্ডওয়্যার নিয়ন্ত্রণকে সহজতর করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion